<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>01_严格模式</title>
</head>
<body>
<!--
1. 理解:
  * 除了正常运行模式(混杂模式)，ES5添加了第二种运行模式："严格模式"（strict mode）。
  * 顾名思义，这种模式使得Javascript在更严格的语法条件下运行
2.  目的/作用
	* 消除Javascript语法的一些不合理、不严谨之处，减少一些怪异行为
	* 消除代码运行的一些不安全之处，为代码的安全运行保驾护航
	* 为未来新版本的Javascript做好铺垫
3. 使用
  * 在全局或函数的第一条语句定义为: 'use strict';
  * 如果浏览器不支持, 只解析为一条简单的语句, 没有任何副作用
4. 语法和行为改变
	* 必须用var声明变量
	* 禁止自定义的函数中的this指向window
	* 创建eval作用域
	* 对象不能有重名的属性
-->

<script type="text/javascript">
    'use strict';
    var age = 12;
    console.log(age);
    function Person(name, age) {
        this.name = name;
        this.age = age;
    }
    new Person('kobe', 39);
    setTimeout(function () {
        console.log(this);//window
    }, 1000);

    //* 创建eval作用域
    var name = 'kobe';
    eval('var name = "anverson";alert(name)');
    console.log(name);

    var obj = {
        name : 'kobe',
        name : 'weide'
    };
    console.log(obj);

</script>

</body>
</html>